using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

namespace SPGE
{
    public interface IGameItem : ICustomDrawable, ICustomUpdateable
    {
        bool IsActive { get; set; }

        float RenderLevel { get; set; }

        Action<IGameItem> OnLoadStart
        { get; set; }
        Action<IGameItem> OnLoadEnd
        { get; set; }
        Action<IGameItem> OnUpdateStart
        { get; set; }
        Action<IGameItem> OnUpdateEnd
        { get; set; }
        Action<IGameItem> OnRenderStart
        { get; set; }
        Action<IGameItem> OnRenderEnd
        { get; set; }

        Vector2 Position
        { get; set; }
        Vector2 Size
        { get; set; }
        Vector2 Scaling
        { get; set; }

        float Rotation
        { get; set; }
        Vector2 Origin
        { get; set; }

        SpriteBatchUse SpriteUse
        { get; set; }
    }
}
